home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-01 / wics.zip / TIMEEDT.CPP < prev    next >
C/C++ Source or Header  |  1993-03-03  |  4KB  |  194 lines

  1. //==============================================================================================
  2. //
  3. //    Windows Interface Construction Set
  4. //    Version 1.00
  5. //
  6. //    TIMEEDT.CPP - Time Edit Field Source File
  7. //    Copyright ⌐ 1993 by Microdyne Development Technologies.
  8. //    All rights reserved.
  9. //==============================================================================================
  10.  
  11. #include <owl.h>
  12. #include <timeedt.h>
  13.  
  14. TTimeEdit::TTimeEdit (PTWindowsObject AParent, int ResourceId, PTModule AModule)
  15.     : TEdit (AParent, ResourceId, 0, AModule)
  16. {
  17. }
  18.  
  19. TTimeEdit::~TTimeEdit ()
  20. {
  21. }
  22.  
  23. void TTimeEdit::WMCommand (RTMessage Msg)
  24. {
  25.     DefWndProc(Msg);
  26. }
  27.  
  28. void TTimeEdit::SetupWindow ()
  29. {
  30.     TEdit::SetupWindow();
  31. }
  32.  
  33. int TTimeEdit::GetLineLength()
  34. {
  35.     TMessage    msg;
  36.  
  37.     msg.Receiver = HWindow;
  38.     msg.Message  = EM_LINELENGTH;
  39.     msg.WParam   = 0;
  40.     msg.LParam   = 0L;
  41.     msg.Result   = 0L;
  42.  
  43.     DefWndProc (msg);
  44.  
  45.     return (int) msg.Result;
  46. }
  47.  
  48. BOOL TTimeEdit::GetLine(LPSTR ATextString, int StrSize)
  49. {
  50.     TMessage    msg;
  51.     int            BytesCopied;
  52.     BOOL        Success;
  53.  
  54.     if ( StrSize <= 0 )
  55.         return FALSE;
  56.  
  57.     if ( (StrSize >= GetLineLength() + 1) )
  58.         Success = TRUE;
  59.     else
  60.         Success = FALSE;
  61.  
  62.     if ( StrSize == 1 )
  63.     {
  64.         ATextString[0] = '\0';
  65.         return Success;
  66.     }
  67.  
  68.     msg.Receiver = HWindow;
  69.     msg.Message  = EM_GETLINE;
  70.     msg.WParam   = 0;
  71.     msg.LParam   = (LPARAM) ATextString;
  72.     msg.Result   = 0L;
  73.  
  74.     DefWndProc (msg);
  75.  
  76.     BytesCopied = (int) msg.Result;
  77.  
  78.     if ( BytesCopied != 0 )
  79.     {
  80.         ATextString[BytesCopied] = '\0'; // Windows returns non-null terminated string
  81.         return Success;
  82.     }
  83.  
  84.     return FALSE;
  85. }
  86.  
  87. void TTimeEdit::GetTime(long & lSeconds, Rint iHour, Rint iMinute, Rint iSecond)
  88. {
  89.     TMessage    msg;
  90.     WORD        wTime[3];
  91.  
  92.     msg.Receiver = HWindow;
  93.     msg.Message  = TEM_GETTIME;
  94.     msg.WParam   = 0;
  95.     msg.LParam   = (LPARAM) wTime;
  96.     msg.Result   = 0L;
  97.  
  98.     DefWndProc (msg);
  99.  
  100.     iHour   = wTime[0];
  101.     iMinute = wTime[1];
  102.     iSecond = wTime[2];
  103.     lSeconds = (long) iSecond + 60 * (long) iMinute + 3600 * (long) iHour ;
  104. }
  105.  
  106. void TTimeEdit::SetTime(Rint iHour, Rint iMinute, Rint iSecond)
  107. {
  108.     TMessage    msg;
  109.     WORD        wTime[3];
  110.  
  111.     wTime[0] = iHour;
  112.     wTime[1] = iMinute;
  113.     wTime[2] = iSecond;
  114.  
  115.     msg.Receiver = HWindow;
  116.     msg.Message  = TEM_SETTIME;
  117.     msg.WParam   = 0;
  118.     msg.LParam   = (LPARAM) wTime;
  119.     msg.Result   = 0L;
  120.  
  121.     DefWndProc (msg);
  122. }
  123.  
  124. void TTimeEdit::GetHour(Rint iHour)
  125. {
  126.     TMessage    msg;
  127.  
  128.     msg.Receiver = HWindow;
  129.     msg.Message  = TEM_GETHOUR;
  130.     msg.WParam   = 0;
  131.     msg.LParam   = 0L;
  132.     msg.Result   = 0L;
  133.  
  134.     DefWndProc (msg);
  135.  
  136.     iHour = msg.Result;
  137. }
  138.  
  139. void TTimeEdit::GetMinute(Rint iMinute)
  140. {
  141.     TMessage    msg;
  142.  
  143.     msg.Receiver = HWindow;
  144.     msg.Message  = TEM_GETMINUTE;
  145.     msg.WParam   = 0;
  146.     msg.LParam   = 0L;
  147.     msg.Result   = 0L;
  148.  
  149.     DefWndProc (msg);
  150.  
  151.     iMinute = msg.Result;
  152. }
  153.  
  154. void TTimeEdit::GetSecond(Rint iSecond)
  155. {
  156.     TMessage    msg;
  157.  
  158.     msg.Receiver = HWindow;
  159.     msg.Message  = TEM_GETSECOND;
  160.     msg.WParam   = 0;
  161.     msg.LParam   = 0L;
  162.     msg.Result   = 0L;
  163.  
  164.     DefWndProc (msg);
  165.  
  166.     iSecond = msg.Result;
  167. }
  168.  
  169. void TTimeEdit::GetEditParams (LPDECPARMS lpep)
  170. {
  171.     TMessage    msg;
  172.  
  173.     msg.Receiver = HWindow;
  174.     msg.Message  = DEM_GETEDITPARAMS;
  175.     msg.WParam   = 0;
  176.     msg.LParam   = (LPARAM) lpep;
  177.     msg.Result   = 0L;
  178.  
  179.     DefWndProc (msg);
  180. }
  181.  
  182. void TTimeEdit::SetEditParams (LPDECPARMS lpep)
  183. {
  184.     TMessage    msg;
  185.  
  186.     msg.Receiver = HWindow;
  187.     msg.Message  = DEM_SETEDITPARAMS;
  188.     msg.WParam   = 0;
  189.     msg.LParam   = (LPARAM) lpep;
  190.     msg.Result   = 0L;
  191.  
  192.     DefWndProc (msg);
  193. }
  194.